Data relay system, data relay method, data relay program, information processing method, and information processing program

ABSTRACT

A data relay system for relaying data exchange between a server system of a service provider and a client system in accordance with the present invention comprises: a database section which is configured to store identification information for identifying language-dependent data and replacement data corresponding to the language-dependent data in association with each other; a server data receiving section which is configured to receive server data from the server system; a data processing section which is configured to detect the replacement data from the database section on the basis of the identification information contained in the server data; a data generating section which is configured to replace the language-dependent data as contained in the server data by the replacement data; and a client data transmitting section which is configured to transmit the server data as replaced to a client system.

TECHNICAL FIELD

This application is based upon the prior Japanese Patent ApplicationsP2000-313009 filed on Oct. 13, 2000 and related to a data relay system,a data relay method and a data relay program provided for the purpose ofmaking it possible for a server/client system exchanging data throughthe Internet to use a new language in addition to the currently languageavailable in said server/client system.

BACKGROUND OF THE INVENTION

In recent years, along with the advent of the Internet technology, thisInternet has increasingly been used for buying and selling goods andservices by receiving and transmitting data through the Internet. Suchtransactions for buying and selling goods and services through theInternet can be made between different countries so that differentlanguages are often used between a server system for selling goods andservices and a client system which will buy goods and services on theInternet. Accordingly, the necessity arises of translating languagesbetween a server system and a client system.

An exemplary relay server for the purpose of converting languages isEtoJ Proxy (English-to-Japanese word translation server EtoJ_Proxy- forWeb by “DeleGate” Proxy, 1995.11, Yoshihiro Ugawa, Manabu Akimoto,Nobuyuki Fujita and Yutaka Satoh, World Wide Web Conference '95). Thisrelay server is characterized in that a word for word dictionary isprovided in order to translate an English response from the server of aclient-server system into a Japanese response and transmit the responseafter conversion. FIG. 1 is a schematic diagram showing animplementation of the system.

As illustrated in FIG. 1, this relay server 13 is located between aserver system 1 and a client system 2. When a request for the URL of theserver system 1 is sent from the client system 2 to the server system 1,the URL is transferred to the Server system 1 as it is through a clientmessage receiving section 133 and a server message transmitting section131. Then, the relay server 13 receives, through a server messagereceiving section 135, a WWW hyper text markup language document (HTML)which has been written in English and transferred from the server system1 while each word of the text data of this HTML is converted into aJapanese word by the use of an EtoJ word for word dictionary 134 in anEtoJ word for word translating section 132 and returned to the clientsystem 2 through a client message transmitting section 136.

This type of the relay server 13 is designed for the purpose ofconverting a document which has been described in a certain languageinto another language for reading and therefore it is necessary toprovide a word for word dictionary 134 having a sufficient number ofentries so that few implementations have been put to practical use atthis time. Also, this type of the relay server 13 serves to perform aunidirectional translation process of only the response from the serversystem 1 and therefore it can not be applied to a bi-directional onlinesystem which has to convert one language to another language for therequest from the client system 2 and the response from the server system1.

Meanwhile, pre-arranged accommodation systems, delivery systems and soforth are examples in which a server system is accessed by clientsystems to refer to and update associated data. In the case of thesesystem, language-dependent information such as customer information andlanguage-independent information such as numerical values are input tothe server system 1 while said language-dependent information and saidlanguage-independent information are output from the server system tothe client system 2.

In the case where it is desired for these system to implement additionalfunctions for providing services in another language corresponding tothe existing services in the current language, for example, forproviding services in English in addition to in Japanese, the necessityarises of extending the client server system for implementing additionalfunctions. In the prior art technique, such extension of the system hasbeen implemented in the following manner.

At the end of the server system where a system 204 is implemented withdata 201 in a current language 1, as illustrated in FIG. 2, serversystems (205, 206, . . . ) implemented with data 202, 203 in differentlanguages 2 to n are added anew in order to operate on line togetherwith the system 204 implemented with data 201 in the language 1. Also,as illustrated in FIG. 3, another implementation of an improved system208 is possible by extending a server system in a language 1 withadditional functions required for providing services in differentlanguages 2 to n.

On the other hand, at the end of the client system where an existingsystem 209 is implemented, as illustrated in FIG. 4, client systems 210,211, . . . each of which can be operated for adding, updating, deletingor referring to data only in the other language are added anew in orderto operate on line together with the system 209 operating in the currentlanguage. Alternatively, as illustrated in FIG. 5, the client system canbe improved for providing services in different languages byimplementing functions 212 therein.

Also, the server/client system can be designed for practical operationby combining the above two types of server systems and the above twotypes of client systems.

In the case of the implementation as illustrated in FIG. 2 where aserver has to be developed anew for the other language, if new systems205, 206, . . . are to be added without halting the existing system 204,the implementation can be applied only to services in which any one ofthe systems shall not refer to information in the language of anothersystem, for example, in the form of independent services for therespective languages such as a service for use inside of Japan, aservice for use inside of U.S.A., and so forth.

Accordingly, in the case of this kind of server systems, for example,when a hotel in US wants to provide an online booking service in Englishand in Japanese, it is needed to manage data of language-independentinformation to be controlled under unified management such asinformation about available rooms, avoiding data redundancy among theserver systems.

Also, in the case of this example, it is impossible to partially provideservice(s) in another language on the basis of the existing services inthe current language, for example, to provide, in Japanese, only part ofthe services which have been provided in English while providing theremainder only in English.

Conversely, in the case where a server system is extended as illustratedin FIG. 3 by making use of information in another language together withinformation in the existing language, the system 208 as operating has tobe halted for extension so that stoppage of the service is inevitablewhile, in the case of a wide-scale and complicated system, developmentworks also become wide-scale and complicated.

Furthermore, in the case where a server system is extended as describedabove, it is necessary to continue providing services in the currentlanguage for current clients and therefore to maintain upwardcompatibility with the current server system in the current language.

Furthermore, in the case where a server system is implemented in eachlanguage to provide services in different languages in addition to theserver system in the current language as illustrated in FIG. 2, unifiedmanagement of language-independent data is required among the serversystems. In order to implement this in the configuration as illustratedin FIG. 2, it is needed to provide additional functions for managing thelanguage-independent data among the existing server and all the serversother than its own system or to provide a separate data managementsystem for synchronizing data under unified management among the serversystems. Furthermore, there is a problem that it is impossible toprovide only part of data in Japanese on the basis of Englishinformation.

Also, in the case where an existing system is extended to anmultilingual system for providing services in different languages inaddition to the current language as illustrated in FIG. 3, stoppage ofthe service is inevitable and therefore it is difficult to apply to awide-scale and complicated system. Also after updating the server, it isneeded to maintain compatibility with the previous system in order thatexisting clients can make use of the new system.

In order to solve these problems, it is an object of the presentinvention to unify management of language-independent informationwithout modifying the existing system for providing online services in aplurality of languages in a client-server system as an online system forselling goods and services through the Internet.

On the other hand, in recent years, contents on the Internet haveincreasingly been accessed from a plurality of countries along with theadvent of the Internet technology.

However, most currently available contents have been provided only inthe native language of each contents provider while some contents havebeen provided in two languages, i.e., in English and in the nativelanguage at the best. In other words, it can be said that there are fewcontents which have been provided in more than two languages.

Such provision of contents having been provided in two languages at thebest becomes a factor impeding revitalization of the online electronictransactions and a barrier of the social infrastructure which can beused with fairness to all ages.

In addition to this, it is necessary for providing contents in aplurality of languages to repeat the provision of the same contents inthe respective languages and therefore require very troublesome worktaking more efforts for creating and updating contents and so forth.Furthermore, while it is inevitable to give users the contract detailand the notabilia with reasonable accuracy in the case of onlineelectronic transactions and so forth, a number of troubles have arisenunder the current circumstances.

Another invention has been made in the circumstances as described abovein order to provide an information processing method and a program forhandling different languages with ease when providing contents indifferent languages.

DISCLOSURE OF THE INVENTION

In order to accomplish the above described object, the present inventioncomprises, when relaying data exchanged between a server system of aservice provider and a client system of a user, storing identificationinformation for identifying language-dependent data and replacement datacorresponding to said language-dependent data associated with eachother; receiving server data from said server system; searching saiddatabase section on the basis of said identification informationcontained in the server data as received, and detecting the replacementdata associated with said identification information; identifying saidlanguage-dependent data contained in the server data as received, andreplacing said language-dependent data as identified by said replacementdata associated therewith; and transmitting the server data replaced bysaid data generating section to said client system.

In accordance with the present invention, even in the case where thelanguage used in a server system providing a service is different fromlanguage used in a client system, the language-dependent data isreplaced by replacement data associated therewith and transmitted to theclient system, and therefore it is possible to recognize the informationfrom the server by the client with reference to the replacement data.

In the case of the invention as described above, it is preferred tooutput server data without replacement of the language-dependent data inthe case where the replacement data is not specified in the server data.

By this configuration, since the server data is transferred as it iseven if there is available no replacement data, it is possible tocontinue smooth management of a system without halting the operation ofthe system due to introduction of the present system.

In the case of the invention as described above, it is preferred toreceive request data from the client system; extract firstidentification information contained in the request data as received foridentifying the replacement data, extract second identificationinformation for identifying language-dependent data contained in theserver data, and detect the replacement data on the basis of the firstidentification information and the second identification.

By this configuration, since the information for identifyinglanguage-dependent data from the client system and the server system, itis possible to quickly and accurately detect replacement data associatedwith the language-dependent data as identified and therefore to removethe failure relating to the languages between the client system and theserver system.

In accordance with the invention as described above, it is preferred toreceive the replacement data and the first identification informationcorresponding to said replacement data from said client system and tostore said replacement data and the first identification information; toacquire said second identification information as the processing resultof said server system; and to register said replacement data as stored,the first identification information corresponding thereto and thesecond identification information as acquired in said database sectionin accordance with the processing result.

By this configuration, it is possible to acquire in advance thereplacement data corresponding to the language-dependent data used inthe server system and the first identification information foridentifying said language-dependent data from the client as well as thesecond identification information from the server system, and then,after confirming the completion of the operation of the server system,to register the replacement data in the database section in associationwith the first and second identification information. As a result, it ispossible to accumulate only effective data to the server system in thedatabase section and therefore to establish the database section in anappropriate manner.

In accordance with the invention as described above, it is preferred todelete, from the request data as obtained from the client system,language-dependent data which can not be handled by the server systemand said first identification information, and to transfer the serverrequest data to said server system.

By this configuration, since the language-dependent data which can notbe recognized by the server system is removed when request data istransmitted to the server system, it is possible to prevent unnecessarydata from transferred to the server system and to maintain anappropriate operation of the server system.

In accordance with the invention as described above, it is preferred toadd pseudo data in place of the language-dependent data as deleted.

By this configuration, it is possible to prevent otherlanguage-dependent data which can not be handled by the server systemfrom being input to an item indispensable for the server system, toavoid an error which otherwise would occur if no data was input to saiditem, and therefore to maintain an appropriate operation of the serversystem.

In accordance with the invention as described above, it is preferredthat the pseudo data includes data for display which can be handled bythe server system and used to identify the language used in the clientsystem.

By this configuration, in the case where the pseudo data is transferredto the client system without replacement in the relay server, it ispossible to estimate the cause of the fact that the pseudo data is notreplaced by the data for display.

Also, the information processing method supporting multiple languages inaccordance with another invention comprises: a first step of accessing aWeb server on the Internet by users respectively using their nativelanguages; a second step of outputting search requests corresponding toa plurality of languages used by the access step by a multilingualsystem connected to the Web server; and a third step of receiving thesearch requests, searching a contents database for contents matching thesearch requests and returning the contents to the multilingual system bya contents server.

Furthermore, the second step includes a fourth step of returning thecontents as the search results to the users through the Web server.

Still further, the second step includes: a fifth step of performingmultilingual conversion required for supporting multiple languages onthe basis of the information of a multilingual conversion filterdatabase by a multilingual conversion processing section; and a sixthstep of outputting the search requests to the contents server through acontents server interface, and receiving contents as search results fromthe contents server.

Still further, the fifth step includes: a seventh step of processing arespective markup language by a markup language processing section; aneighth step of determining the language code which is used by thecommunication terminal of a user and setting the country code of thecommunication terminal; a ninth step of dividing the telegraphic messageinformation as transmitted from the communication terminal by atelegraphic message division processing section; a tenth step ofrecording a country code, a character code set, terminal information anda content ID for each transaction to manage the acquisition process ofthe respective contents; an eleven step of converting character codesrelating to local information with reference to the information of themultilingual conversion filter database; a twelfth step of outputtingthe search request to the contents server interface by generating asearch managing table in a search processing section, managing whethersearch information is obtained for each searching item, searching globalinformation and the local information for the same information, andoutputting the search request to the contents server interface; and athirteenth step of assembling a telegraphic message as resultantinformation of searching by a telegraphic message assembly processing

Still further, the fifth step includes a fourteenth step of storingcountry codes, character codes, character auxiliary codes, alternatecharacter codes and Unicodes in the information registered in themultilingual conversion filter database.

Still further, the seventh step includes a fifteenth step of dividingand extracting information from the markup language as input from theWeb server while conversely inserting markup tags into the telegraphicmessage to be output to the Web server followed by requesting the Webserver to output the telegraphic

Still further, when the local information contains information in aplurality of character encoding systems in a single native language, theeleventh step includes a sixteenth step of converting the charactercodes used in the communication terminal of a user to correspondingcharacter codes as used in the contents database and converting thecharacter codes of content information as obtained in the reversedirection to the character codes used in the communication terminal ofthe user.

Still further, the twelfth step includes a seventeenth step ofselecting, if there is available local information, the localinformation with priority and, if not, selecting global information, andreturning the information as selected to the language specific filterprocessing section.

Still further, while an internal timer is provided to install aninterrupt processor for the purpose of accelerating the process, theseventeenth step includes an eighteenth step of returning theinformation as available at the time when time has elapsed, irrespectiveof whether global or local information, to the language specific filterprocessing section.

Still further, the twelfth step includes: a nineteenth step of settingall the items of the search managing table as being generated to “0” inthe initial state while each item associated with a search request isset to “1“; a twentieth step of changing the “1” of each item associatedwith a successful search to a “0”; and a twenty-first step of performingan operation in a row direction and in a column direction of the searchmanaging table and judging that all the information becomes available ifall the items are set to “0”.

Still further, the third step includes a twenty-second step of by makinguse of the contents database as a basic information database, a basicinformation auxiliary database, a multilingual database and amultilingual auxiliary database.

Still further, the twenty-second step includes: a twenty-third step ofregistering global information in the basic information database; atwenty-fourth step of registering global auxiliary information in thebasic information auxiliary database; a twenty-fifth step of registeringlocal information in the basic information database; and a twenty-sixthstep of registering local auxiliary information in the basic informationauxiliary database.

Still further, the twenty-second step includes a twenty-seventh step ofoperating the basic information database and the basic informationauxiliary database in a different server separate from a server in whichthe multilingual database and the multilingual auxiliary databaseoperate.

Still further, the twenty-second step includes a twenty-eighth step ofoperating the multilingual database and the multilingual auxiliarydatabase integrally with the multilingual system.

Still further, the information processing technique for handlingmultiple languages in accordance with the present invention as describedabove can be implemented with a program written in a predeterminedprogram language.

In accordance with the information processing method and the programrelating to the other invention as described above, when usersrespectively using their native languages access a Web server on theInternet with the communication terminals, the multilingual systemconnected to the Web server serves to output search requestscorresponding to a plurality of languages used by the accesses while thecontents server receives the search requests, searches the contentsdatabase for contents matching the search requests and returns thecontents to the multilingual system.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an organization diagram of an EtoJ translation relay server inaccordance with a prior art technique.

FIG. 2 is an organization diagram in which a separate server is providedfor each language with corresponding language data and system data inaccordance with a prior art technique.

FIG. 3 is an organization diagram in which a single server is providedfor the respective languages with multilingual data and system data inaccordance with a prior art technique.

FIG. 4 is an organization diagram in which a separate client is providedfor each language in accordance with a prior art technique.

FIG. 5 is an organization diagram in which a single client is providedfor the respective languages to process multilingual data in accordancewith a prior art technique.

FIG. 6 is an organization diagram showing a data relay system inaccordance with a first embodiment.

FIG. 7 is a block diagram for explaining the operation of a request dataseparating section when multilingual information is referred to inaccordance with the first embodiment.

FIG. 8 is a block diagram for explaining the operation of a dataprocessing section when multilingual information is referred to inaccordance with the first embodiment.

FIG. 9 is a block diagram for explaining the operation of a datagenerating section when multilingual information is referred to inaccordance with the first embodiment.

FIG. 10 is a block diagram for explaining the operation of the requestdata separating section when multilingual information is registered inaccordance with the first embodiment.

FIG. 11 is a block diagram for explaining the operation of the dataprocessing section when multilingual information is registered inaccordance with the first embodiment.

FIG. 12 is a view for explaining the procedure of registering hotelinformation in accordance with the first embodiment.

FIG. 13 is a view for explaining the procedure of hotel reservation inaccordance with the first embodiment.

FIG. 14 is a view for explaining the procedure of registering hotelreservation in accordance with the first embodiment.

FIG. 15 is a view for explaining the procedure of searching forreservation in accordance with the first embodiment.

FIG. 16 is a view for explaining the procedure of searching forreservation with reference to a name in accordance with the firstembodiment.

FIG. 17 is a block diagram showing an exemplary modification of the datarelay system in accordance with the first embodiment.

FIG. 18 is a block diagram showing a exemplary modification of the datarelay system in accordance with the first embodiment.

FIG. 19 is a system organization diagram of online bank transaction athird embodiment.

FIGS. 20A to 20F show the basic data of the databases of a server systemin accordance with the third embodiment.

FIGS. 21A to 21D show the basic data of the databases of a relay serverin accordance with the third embodiment.

FIGS. 22A to 22B show exemplary basic data of the database of a serversystem in accordance with the third embodiment.

FIGS. 23A to 23C show exemplary basic data of the database of a relayserver in accordance with the third embodiment.

FIG. 24 shows the request data for opening a new account in accordancewith the third embodiment.

FIG. 25 is a flowchart of the request data separating section of therelay server in accordance with the third embodiment.

FIG. 26 shows the request data for opening a new account as transmittedfrom the relay server to the server system in accordance with the thirdembodiment

FIGS. 27A to 27C show exemplary data of new customers and account dataregistered in the server system in accordance with the third embodiment.

FIG. 28 shows the response data for opening a new account as transmittedfrom the server system to the relay server in accordance with the thirdembodiment

FIG. 29 is a flowchart of the data processing section of the relayserver in accordance with the third embodiment.

FIG. 30 is a flowchart of the data generating section of the relayserver in accordance with the third embodiment.

FIG. 31 shows the response data for opening a new account as transmittedfrom the relay server to a client in accordance with the thirdembodiment

FIG. 32 shows the request data for lodgment operation as transmittedfrom the client in accordance with the third embodiment

FIGS. 33A and 33B show exemplary data of the lodgment operationregistered in the server system in accordance with the third embodiment

FIG. 34 shows the response data of the lodgment operation as transmittedfrom the server system to the relay server in accordance with the thirdembodiment

FIG. 35 shows the response data of the lodgment operation as transmittedfrom the relay server to the client in accordance with the thirdembodiment

FIG. 36 shows the request data for updating registration informationfrom the client to the relay server in accordance with the thirdembodiment.

FIG. 37 shows the response data for updating the registrationinformation from the server system to the relay server in accordancewith the third embodiment.

FIG. 38 shows the response data for updating the registrationinformation from the relay server to the client in accordance with thethird embodiment.

FIG. 39 shows the request data for updating a residence from the clientto the relay server in accordance with the third embodiment.

FIG. 40 shows the request data for updating the residence from the relayserver to the server system in accordance with the third embodiment.

FIG. 41 shows the response data indicative of completion of updating theresidence in accordance with the third embodiment

FIG. 42 is an organization diagram showing a Web page which is deliveredby the server system in accordance with a fourth embodiment.

FIG. 43 is an organization diagram showing the Web page which isconverted by the relay server in accordance with the fourth embodiment.

FIG. 44 is a view for explaining a list as the results of searching fromthe server system.

FIGS. 45A to 45C are views for explaining data tables accumulated in adatabase section.

FIG. 46 shows a list as the results of searching as converted by therelay server.

FIG. 47 is an organization diagram showing a Web page for ordering acommodity which is delivered by the server system in accordance with thefourth embodiment.

FIG. 48 is an organization diagram showing the Web page for ordering acommodity which is converted by the relay server in accordance with thefourth embodiment.

FIG. 49 shows an order list which is obtained from a user by the relayserver in accordance with the fourth embodiment.

FIG. 50 shows an order list from the user which is converted by therelay server in accordance with the fourth embodiment.

FIG. 51 is a view for explaining the overview of the informationprocessing apparatus in accordance with a sixth embodiment of aninformation processing method of another invention for handling multiplelanguages.

FIG. 52 is a schematic block diagram showing the major portions of FIG.51.

FIG. 53 is a view for explaining the information input in a markuplanguage and the information obtained by dividing it in the informationprocessing method as illustrated in FIG. 51.

FIG. 54 is a view for explaining the information input in a markuplanguage and the information obtained by dividing it in the informationprocessing method as illustrated in FIG. 51.

FIGS. 55A to 55C are diagrams showing search managing tables generatedby a search processing section as illustrated in FIG. 52.

FIG. 56 is a view for explaining a multilingual conversion filterprocessing section as illustrated in FIG. 52.

FIG. 57 is a diagram showing a conversion managing table generated bythe multilingual conversion filter processing section as illustrated inFIG. 52.

FIG. 58 is a view for explaining a multilingual filter conversiondatabase as illustrated in FIG. 52.

FIG. 59 is a flowchart for explaining the search request process of themultilingual conversion filter processing section as illustrated in FIG.51.

FIG. 60 is a flowchart for explaining the search result process of themultilingual conversion filter processing section as illustrated in FIG.51.

FIG. 61 is a flowchart showing the procedure for searching basicinformation in the information processing method as illustrated in FIG.51.

FIG. 62 is a flowchart showing the procedure for searching additionalinformation in the information processing method as illustrated in FIG.51.

FIG. 63 is a flowchart showing the procedure for searching for localinformation in the information processing method as illustrated in FIG.51.

FIG. 64 is a flowchart showing the procedure for assembling data fordisplay in the information processing method as illustrated in FIG. 51.

FIG. 65 is a diagram showing the structure of the multilingual databaseof a contents server as illustrated in FIG. 51.

PREFERRED EMBODIMENTS OF THE INVENTION [First Embodiment]

(System Configuration)

A first embodiment of the data relay server in accordance with thepresent invention will be explained. FIG. 6 is a block diagram showingthe configuration of the data relay server in accordance with thepresent embodiment. As illustrated in the same figure, the data relayserver in accordance with the present embodiment includes a relay server3 located between an existing server system 1 and an existing clientsystem 2 in order to enable the existing server system 1 to be used indifferent languages.

It is assumed that the server system 1 is provided with a databaseserver capable of handling a certain language while the presentembodiment will be explained with a “hotel booking system”, as anexample, which is provided for managing hotel information andreservation information in English. Information handled by the serversystem 1 includes reservation information such as hotel names, guest'snames, accommodation dates, the numbers of guests and so forth which areregistered by the client system 2, and hotel information such asaccommodation plans, restaurant information and so forth which areprovided by the hotel. All the information is managed in English. On theother hand, the client system 2 is provided for enabling not only usersin English-speaking countries but also users in Asia, Europe and soforth other than English-speaking countries to make procedures such asreservation in the native languages of the respective user.

The relay server 3 in accordance with the present embodiment is providedfor registering and referring to multilingual information(language-dependent data other than English). In the case of the presentembodiment, a hotel booking system will be explained as an example toperform a process wherein hotel information can be referred to with ahotel code as a keyword for searching, a process wherein hotelinformation is registered in Japanese and the like process. Meanwhile,the relay server 3 in accordance with the present embodiment can beimplemented by running in a server a data relay program in accordancewith the present invention.

More specifically speaking, as illustrated in FIG. 6, implemented inthis relay server 3 by running the data relay program therein are aserver data transmitting section 31, a request data separating section32, a client data receiving section 33, a data processing section 34, adatabase section 35, a server data receiving section 36, a datagenerating section 37 and a client data transmitting section 38.Meanwhile, in this description are explained also an example where asession managing unit 39 is provided in order to manage sessionsoccurring between the client system 2 and the server system 1 asillustrated in FIG. 17.

The server data transmitting section 31 serves to transmit data from therelay server 3 to the server system 1, and connected to the request dataseparating section 32 in this embodiment of the present invention inorder to transmit request data as obtained from the client system 2 tothe server system 1 through the request data separating section 32.

The request data separating section 32 is connected the client datareceiving section 33 for extracting first identification information foridentifying language-dependent data contained in the request data asobtained, analyzing the request data from the client system 2,transmitting the request data as analyzed through the server datatransmitting section 31 to the server system 1, and transmitting theidentification information as extracted to the data processing section34. The request data separating section 32 also has functions to deletelanguage-dependent data which cannot be recognized by the server system1 and to add dummy data (pseudo data) in place of the language-dependentas deleted.

The request data separating section 32 is provided with data list foruse in multilingual processing. This data list is used to store datanames, commands and process specifications in the form of tables forextracting second identification information which is required foridentifying language-dependent data.

The client data receiving section 33 serves to obtain request data fromthe client system and to transfer the request data as obtained to therequest data separating section 32.

The data processing section 34 has functions as a searching section fordetecting replacement data from the database section 35 on the basis ofthe first and the second identification information for identifyinglanguage-dependent data contained in request data and server data. Thisdata processing section 34 also has functions to replacelanguage-dependent data by pseudo data as replacement data and toextract language-dependent data, pseudo data and replacement datacontained in the server data as obtained.

The database section 35 serves to store replacement data obtained bytranslating language-dependent data into data in another language(s) andidentification information for accessing items of the replacement datain correspondence with the language-dependent data in association witheach other. In accordance with this embodiment, the database section 35includes tables in which replacement data is associated with languagedesignation information as the first identification information, forexample, language codes and so forth as designated by the client andlanguage-dependent data as the second identification information, forexample, hotel codes, reservation numbers and so forth as given from theserver 2.

The above described request data and server data includelanguage-independent data which need not be translated in the otherlanguage such as “numerical/symbol information” and the like, andlanguage-dependent data which has to be translated in the other languagesuch as “letter information”. For example, the dates of accommodationand the numbers of guests are “numerical/symbol information” andtherefore language-independent data while the names of hotels and thename of guests having reserved are “letter information” and thereforelanguage-dependent data. The relay server 3 is responsible for managing“letter information” as translated in multiple languages while theexisting server system is responsible for managing the other“numerical/symbol information”.

In accordance with this embodiment, the database schema of the databasesection 35 is a subset of the database schema of the server system 1.However, it is not required to make the schema a subset as long as theEnglish data in the existing server system is associated with themultilingual data in the relay server.

Also, language keys are added to the respective tables as stored in thedatabase section 35 for the purpose of managing language informationrelating to a plurality of languages. For example, a country name tableincludes language codes in addition to country codes and country names.Even with the same country code “1” are registered “

” in the case where the language code is “ja” and “

” in the case where the language code is “zh”. In this case, since avariety of languages are handled on a single database, information maybe stored in Unicode inside of the database. Alternatively, there may beprovided a separate database for each language.

Relating to the physical configuration of the system, the relay server 3and the database section 35 can be implemented within the same machineor separately implemented within different machines respectively.Furthermore, the database section 35 can be distributed implementedwithin a plurality of machines.

The server data receiving section 36 serves to obtain server data fromthe server system and transfer the server data as obtained to the dataprocessing section 34 and the data generating section 37.

The data generating section 37 serves to replace data items, which canbe replaced, with respect to server data (response data) as obtainedfrom the server system 1 to generate data to be transferred to theclient system 2 wherein language-dependent data and pseudo data arereplaced by corresponding language-dependent data and/or whereinlanguage-dependent data is added to language-dependent data and pseudodata. Also, this data generating section 37 has a function to uselanguage-dependent data transmitted from the server data as it is ifthere is no available corresponding language-dependent data.

The client data transmitting section 38 serves to transmit the responsedata as generated by the data generating section 37 to the client system2.

Meanwhile, the session managing unit 39 as illustrated in FIG. 17 isconnected to the data processing section 34 and receives and storeslog-in information, the language information as designated and the likeof a client in order to identify the client when the relay server 3 isaccessed with a plurality of requests.

(Operations of the Respective Components)

The operations of the respective components of the data relay serverhaving the above-described configuration will be explained. FIG. 7through FIG. 11 are drawings for explaining the operations of thepresent system when multilingual information is registered or referredto.

1. Reference to Multilingual Information:

In what follows is explained the procedure for referring to replacementdata as registered in the database section 35 as described above.

When a user transmits request data for a service from the client system2 to the relay server 3 while a language is designated, the client datareceiving section 33 receives this request data and transfer it to therequest data separating section 32. Since a language is designated bythis user, a language code is transmitted to the relay server 3 as thefirst identification information.

When a request data d1 for designating the language is received, therequest data separating section 32 analyzes the request data d1 toobtain data d1′ which is easily handled by internal processing andseparates a language code d3 which is processed by the relay server 3and a language-independent data d4 which is removed this language coded3 to be transferred to the server system 1 with reference to a datalist d5 for use in multilingual processing.

That is, the “Language” information as contained in the“HotelEventSearchRQ” corresponds to the language code d3. The languagecode d3 is transferred to the data processing section 34 while thelanguage-independent data d4 generated by deleting the language code d3is created in order to conform with the interface of the server system 1and transferred to the server data transmitting section 31. The serverdata transmitting section 31 serves to transmit the language-independentdata d4 to the server system 1. The server system 1 serves to processthe data d4 as received and return data d2 to the relay server 3.

The response data d2 as transmitted from the server system 1 istransferred to the data processing section 34 through the server datareceiving section 36 as illustrated in FIG. 8. The data processingsection 34 serves to analyze the response data d2 to obtain data in aformat which is easily handled by internal processing and extract thesecond identification information d6 (a hotel code “HL01” and two eventcodes “E01” and “E02”) functioning as searching keys together with theinformation as received from the request data separating section 32.

As illustrated in the same figure, the searching keys d6 comprises thelanguage code d3 (“ja”) as received from the request data separatingsection 32, the hotel code “HL01” and two event codes “E01” and “E02” asreceived from the server system and so forth are used to from thesearching keys d6 in combination. Next, by the use of these searchingkeys d6, the corresponding replacement data is obtained from thedatabase section 35. The language information “ja” and the hotel code“HL01” are used as keys to extract Japanese replacement data d7, i.e., “

”, from a hotel table. If Chinese “zh” is designated in a request from aclient, Chinese replacement data d7, i.e., “

”, is obtained. On the other hand, from the language information “ja”,the hotel code “HL01” and the event codes “E01” is obtained Japanesereplacement data, i.e., “

”. There is no Japanese data corresponding to the event codes “E02” sothat no information is obtained. These data items d7 as obtained aretransferred to the data generating section 37.

Next, as illustrated in FIG. 9, the data generation section 37 receivesthe response data d2 from the server data receiving section 36, analyzesthe request data d2 to obtain data d2′ which is easily handled byinternal processing and confirms data items to be translated in theother language with reference to the data list d8 indicative of items tobe used in different languages. In this case, the language information,the hotel names and the event names are data items to be translated inthe other language. Next, these data items to be translated in the otherlanguage are replaced by the replacement data d7 as received from thedata processing section 34 to generate data d9. In accordance with thedata list d8, the process as designated of the language designationinformation (Language=ja) is “addition” so that language information isadded to the original response data d2. The process as designated ofother items, i.e., the hotel names and the event names is “replacementby multilingual data” so that the original English response data d2′,i.e., “HOTEL Tokyo” and “Valentine Fair” is replaced by correspondingJapanese data. In this case, there is no corresponding Japanese data tothe event “Winter Plan” so that the English data is used as it is. Next,the data d9 is created from data d9′ in order to conform with theinterface of the client system 2 and transferred to the client datatransmitting section 38.

By this configuration, it is possible to replace the English responsedata d2′ as output from the server system 1 in response to the requestfrom the client system 2 by Japanese data d9 and output it to the clientsystem 2.

2. Registration of Multilingual Information:

In the case of the present system, it is necessary to registermultilingual information (replacement data) in the database section 35in association with the first and second identification information inadvance for providing services.

As illustrated in FIG. 10, when there is a request from the clientsystem 2 for registering replacement data, the client data receivingsection 33 transfers the request data d8 (message) as received from theclient system 2 to the request data separating section 32.

When a request data d8 for registering replacement data is received, therequest data separating section 32 analyzes the request data d8 toobtain data d8′ which is easily handled by internal processing andextracts data d11 required for registering the multilingual informationin the relay server 3 with reference to a data list d9 for use inmultilingual processing.

That is, in this case, the key information “ja”, “HL01” and “E02” isextracted as the first and second identification information as well asJapanese data “

” which is replacement data to be registered in the relay server 3. Onthe other hand, since data transferred to the server system 1 can notincludes language-dependent data, the data “

” as language-dependent data and “Language=ja” as the firstidentification information are extracted therefrom and transmitted tothe data processing section 34 while the remaining data d10′ is arrangedin order to conform with the interface of the server system andtransferred to the server data transmitting section 31 as data d10. Theserver system 1 serves to process the data d10 as received and returndata d13 to the relay server 3.

Thereafter, as illustrated in FIG. 11, the response data d13 astransmitted from the server system 1 is transmitted to the dataprocessing section 34 through the server data receiving section 36. Thedata processing section 34 serves to analyze the response data d13 toobtain data d13′ in a format which is easily handled by internalprocessing and confirm whether or not the registration process hassucceeded. If the process by the server system 1 has failed, the relayserver 3 does not conduct the registration process. If the process bythe server system 1 has succeeded, as illustrated in FIG. 11, the datad11 including key data and replacement data as received from the requestdata separating section 32 is registered in the database section 35.

The data generating section 37 then judges that it is not necessary toreplace the response data as received from the server data receivingsection 36 by replacement data, and therefore transmits the receiveddata to the client system 2 through the client data transmitting section38 as it is.

In this manner, by separately registering the replacement data for themultilingual processing in the relay server 3 and the otherlanguage-independent data in the server system 1, it becomes possible toregister Japanese data transmitted from the client system 2 without aneed for particular modification of the server system 1.

Also, several examples are given here about the method of registeringmultilingual information.

(1) The Case Where “Letter Information” and “Numerical/symbolInformation” Are Separately Registered:

In the case where English information such as a hotel name and anaddress has already been registered in the server system 1, a userbegins registration of new Japanese data by logging on while designating“Japanese”. Next, the current hotel information is acquired by accessinga “hotel information update” menu. Since there has been registered noJapanese data yet, all the information is displayed in English, e.g.,“Hotel Tokyo”. In this page, Japanese data such as “

” is entered to an item which has been given a “multilingual” marking,followed by clocking an “Update” button. Of course, it is possible toupdate any numerical value such as a check-in time at the same time.

The relay server 3 may therefore receive Japanese letter information aswell as numerical/symbol information at the same time. The relay server3 serves to separate “letter information” and “numerical/symbolinformation”, store the letter information in the relay server 3 andtransmit only the numerical/symbol information to the server system 1.

(2) The Case Where Dummy Data is Registered in the Server System:

In many cases, depending upon the specification of the server system 1,there is provided an “Indispensable Input Item” when registering orupdating information. If the server system 1 requires input of a certainletter information item as an indispensable input item, it is notcompatible with the above described technique in which the letterinformation of language-dependent data is extracted while only thenumerical/symbol information is transmitted to the server system 1. Forexample, this is true when requiring, as an indispensable input item,the name and the residence of a guest who wants to reserve a hotel room.

In this case, the relay server 3 transfers, as data corresponding to thename and the residence, additional English dummy data (pseudo data) tothe server system 1. In accordance with this configuration, while thedummy data which is unrelated to the actual name and the actualresidence is registered, there is no problem since when the informationis accessed the dummy data is replaced by the actual name and the actualresidence in Japanese in advance of returning to the client.

(3) The Case Where Both English Data and Japanese Data Are Input at theSame Time:

Another system than “the hotel booking system” may make use of thedatabase section 35. For example, a customer management system which isnot supporting multiple languages may refer to the database section 35.The customer management system accesses a variety of information withthe name of a reserving guest as a key, and therefore cannot operatewith dummy data. In this case, while the names can be handled asmonolingual data, it is also possible to input a name both in Englishand in Japanese.

When receiving a name both in English and in Japanese, the relay server3 treats the same “letter information” by saving the Japanese data inthe relay server and transferring the English data to the server system1.

(4) The Case Where Data is Registered Only in the Relay Server:

While it is assumed in the above described three cases that theregistration information as transmitted from the client system 2includes both “letter information” and “numerical/symbol information”,there is a case where only “letter information” is updated, dependingupon the type of information.

In this case, the relay server 3 has no numerical/symbol information tobe transferred to the server system 1 and therefore returns a responseto the client system 2 after saving the letter information in the relayserver 3 without opening a session with the server system 1.

(5) Another Registration Case:

While residences are stored in the relay server 3 both in Japanese andin English in association with corresponding postal guide numbers inadvance, a Japanese residence is registered in the relay server 3 whilean English residence is registered in the relay server 3 with referenceto the postal guide number as input by a reserving guest. By thisconfiguration, it is not necessary to register a dummy residence in theserver system.

(Data Relay Method by the Use of a Data Relay System)

The data relay method by the use of the data relay server in accordancewith the present embodiment of the configuration and the operation asdescribed above comprises the following steps. FIG. 12 through FIG. 16are flow diagrams showing the procedure of the data relay method inaccordance with the present embodiment. Meanwhile, in the case of thepresent embodiment, a hotel booking system will be explained as anexample of a data relay technique.

That is, in this case, a hotel booking system is provided in order tosupport multiple languages, enabling the registration of and thereference to hotel information and the registration of and the referenceto reservation information in Japanese. Also, it is assumed here thatthe client system 2 may be representative of two types of users, i.e.,hotel-side users to register hotel information with a dedicated terminaland representative service providers to accept telephone calls fromusers of hotels in general and carry out the reservation procedure witha dedicated terminal for the users in general.

1. User Authentication:

First of all, a user has to input his ID/password to the client system 2in advance of making use of the hotel booking system. The relay server 3does not have user authentication functionality and therefore transfersrequest data as received from the client system 2 for logging in to theserver system 1 as it is. The server system 1 serves to perform the userauthentication in accordance with the request data as received andreturn the result to the relay server 3.

The relay server 3 saves the result of the user authentication asreceived from the server system 1 in the session managing unit 39 asillustrated in FIG. 17 and transmit the data to the client system 2.When accessed by the same user next time, the relay server 3 judgeswhether the access is accepted or denied on the basis of the result ofthe user authentication as saved. By this configuration, it is avoidedto redundantly perform user management by the existing server system 1and the relay server 3. Meanwhile, in the case where the server system 1does not perform user authentication, the relay server 3 may perform ownuser authentication. Alternatively, it is possible to completelydispense with user authentication.

Furthermore, during user authentication, it is possible to designate a“language” for use in this session. More specifically speaking, therelay server 3 may open a dialog box for selecting a language to promptto input a language. The language designation is associated with arequest for user authentication and transmitted together to the relayserver 3 as the first identification information of a language code.

When receiving the request for user authentication as well as a languagecode, the relay server 3 extracts language-dependent data from therequest data to transfer the remaining language-independent data to theserver system 1.

At this time, the relay server 3 judges whether or not the language issupported with reference to the language code as received, and, if notsupported, returns a response indicative of an error to the clientsystem 2. If the language is supported by the relay server 3, the relayserver 3 saves the language information in the session managing unit 39together with the result of the user authentication and makes use of thelanguage information to handle requests from the same user untillog-out.

Meanwhile, if the language information is not designated by the clientsystem 2, the language used by the server system 1 is selected as adefault language. In this case, the relay server 3 does not perform anylanguage translation but simply relays data between the client system 2and the server system 1. Alternatively, a language can be designated notonly at log-in but also for each request. By this configuration, itbecomes possible that, for example, while the hotel information isreferred to in Japanese, the reservation procedure is conducted inEnglish so that a local American can confirm the reservation.

Furthermore, while only a language code is designated in accordance withthe present embodiment, it is possible to add a country code to thelanguage code. This make it possible to differentiate American Englishfrom British English so that different data formats can be output forAmerican English and British English. Furthermore, the character codeset may be switched in addition to the language. By this configuration,it is possible not only to translate English information to Japaneseinformation but also to convert character codes to S-JIS codes, EUCcodes and so forth in accordance with the environment of the client.

The server system 1 then performs user authentication on the basis of arequest data as received, and when authenticated the result ofauthentication is transmitted to the relay server 3 as response data.The relay server 3 transferrs the response data as received to theclient system 2.

2. Registration of Hotel Information in Multiple Languages:

Next, as illustrated in FIG. 12, a hotel-side user has to register hotelinformation in advance of beginning a reservation acceptance service inJapanese. The user has to conduct user authentication when registeringthis hotel information.

Next, the user opens the homepage of “Update Hotel Information” fromwhich the page of “Update Hotel Information” is opened through a menu ofthe homepage. After accessing this page for updating hotel information,the current hotel information as registered is displayed.

The relay server 3 then prompts the user to select a hotel to receive arequest for hotel information, i.e., a language code as the firstidentification information and a hotel code as the second identificationinformation. The language code is transferred to the data processingsection 34 while the hotel code is transferred to the server system 1.

After receiving the hotel code, the server system 1 serves to search thehotel information with reference to the hotel code and return Englishhotel information to the relay server 3. On the other hand, the relayserver 3 serves to search the database section 35 for hotel informationin the other language as replacement data with the language code and thehotel code as keys.

In this case, since it is assumed that hotel information in Japanese isregistered for the first time, no data is extracted because nomultilingual data is available yet. When there is no availablelanguage-dependent data corresponding thereto, the relay server 3transfers the English hotel information as received from the serversystem 1 to the client system 2 as it is. In the page of the user, theEnglish hotel information is displayed.

Next, the user begins the registration of hotel information. Namely, theuser rewrites the English hotel information as displayed in the languageas designated followed by transmitting a request for update. The relayserver 3 then accepts the request for updating the hotel informationfrom the client system 2.

The hotel name and the address have been input with letters asdesignated by the language code (in this case, Japanese letters used inthe client system). The client data receiving section 33 transfers thereceived data as replacement data to the request data separating section32 as it is.

The request data separating section 32 then serves to extract thereplacement data (the hotel name and the address) and the first andsecond identification information (the language code and the hotel code)and transfer them to the data processing section 34. On the other hand,the remaining data other than the language-dependent data is transferredto the server system 1. The server system 1 then receives the requestfor updating the hotel information and updates a postal guide number anda telephone number. The server system 1 returns the result of theupdating process to the relay server 3.

The data processing section 34 confirms success of the process by theserver system 1, and registers the replacement data and the first andsecond identification information in the database section 35. If theprocess by the server system 1 fails, the information for multilingualprocessing is not registered for the purpose of maintaining theconsistency with the server system 1. Since the processing result of theserver system 1 includes no multilingual data, the data generatingsection 37 return the data to the client system 2 with no processing.

3. Representative Service to Carry Out Reservation Procedure In MultipleLanguages:

Next, the procedure of a representative service to carry out reservationprocedure by the use of the present system will be explained.

(3.1) Hotel Information Search:

First, as illustrated in FIG. 13, the user has to conduct userauthentication when making use of the reservation service.

Next, the user searches hotel information. The user selects at theoutset an area he desired to stay for searching hotel information. Therelay server 3 receives a request for searching hotel information fromthe client system 2. At this time, a language code and an area code aredesignated as the first identification information by the client system2. The client data receiving section 33 transfers the data as receivedto the request data separating section 32 as it is. The request dataseparating section 32 extracts the language code and transfers it to thedata processing section 34 while the area code is transferred to theserver system 1.

The server system 1 returns the English information of hotels (hotelcodes and the like) of the area as designated as the secondidentification information to the relay server 3. The data processingsection 34 serves to search the database section 35 for multilingualhotel information (Japanese) as replacement data with the keys of thehotel code contained in the results of searching and the language codeas received from the request data separating section 32.

The data generating section 37 receives the English hotel informationfrom the server system 1 and the multilingual hotel information from thedata processing section 34. The English information (the hotel name andthe address) as received from the server system 1 and contained in theresults of searching is then replaced by the multilingual hotelinformation. The multilingual hotel information list as generated isreturned to the client system 2.

(3.2) Reservation of a Hotel:

Then, the user registers a reservation. Namely, as illustrated in FIG.14, the user makes the reservation by inputting the reservationinformation in the language as designated. At this time, in accordancewith this embodiment, the name alone is input both in English and in theother language. The relay server 3 receives a request for executingreservation from the client system 2.

The name and the residence are input in the other language. The clientdata receiving section 33 transfers the data as received to the requestdata separating section 32. The request data separating section 32extracts the multilingual data (the name and the residence) and thelanguage code and transfers them to the data processing section 34.Since the residence is indispensable for the server system 1, dummy datais generated as the residence data.

The numerical/symbol data is transferred to the server system 1 as wellas a name written with romanized Japanese words and the dummy data asthe residence. The server system 1 returns the result of registering thereservation and a reservation number to the relay server 3. The dataprocessing section 34 then registers the multilingual reservationinformation in the database section 35 with keys of the reservationnumber and the language code. Since the processing result of the serversystem 1 includes no multilingual data, the data generating section 37return the data to the client system 2 with no processing.

(3.3) Search for Reservation (One Entry Hit):

Next, an example of searching for reservation from the name of areserving guest is illustrated in FIG. 15. A user sends a request forsearch by inputting a name he wants to search for. The relay server 3then receives, as the request for search, a language code and the name.The client data receiving section 33 transfers the received data to therequest data separating section 32 as it is. Since the data as receivedincludes only language-dependent data, the request data separatingsection 32 transfers all the data to the data processing section 34. Thedata processing section 34 searches a reservation table with thelanguage code and the name as keys and obtain a reservation code, a nameand a residence. At this time, it is assumed that only one entry matchesthe name. The reservation code contained in the reserving data asobtained is transferred to the server system 1. The server system 1returns the English reservation information corresponding to thereservation code to the relay server 3.

The data processing section 34 transfers the multilingual reservationinformation as obtained to the data generating section 37. The datagenerating section 37 receives the English reservation information fromthe server system 1 and the multilingual reservation information fromthe data processing section 34 respectively. The data generating section37 then replaces English residence information by the multilingualresidence information. Since the name is input both in English and inthe other language, the name is added rather than replacement. Themultilingual reservation information as generated is returned to theclient system 2.

(3.4) Search for Reservation (Multiple Entries Hit)

A user sends a request for search by inputting a name he wants to searchfor. The relay server 3 then receives, as the request for search, alanguage code and the name. The client data receiving section 33transfers the received data to the request data separating section 32 asit is.

Since the data as received includes only language-dependent data, therequest data separating section 32 transfers all the data to the dataprocessing section 34. The data processing section 34 searches thereservation table with the language code and the name as keys and obtaina reservation code, a name and a residence. At this time, all thereservation entries associated with the same name are extracted bysearching. A plurality of reservation data items as obtained istransferred to the data generating section 37. The data generatingsection 37 serves to generate the results of searching to be returned tothe client system 2 on the basis of the reservation data as received.Then, the data is returned to the client system 2.

The user having received a plurality of results of searching thenselects one reservation item among from the plurality of results andsend a request for displaying the reservation information. The relayserver 3 receives a language code and a reservation code as a requestfor searching reservation information. The client data receiving section33 transfers the data as received to the request data separating section32. The request data separating section 32 transfers the language codeto the data processing section 34 and transfers the reservation code tothe server system 1. The server system 1 returns, to the relay server 3,the English reservation information corresponding to the reservationcode. The data processing section 34 serves to search the multilingualreservation information with the reservation code and the language codeas keys. The data generating section 37 receives the English reservationinformation from the server system 1 and the multilingual reservationinformation from the data processing section 34. The data generatingsection 37 replaces English residence information by multilingualresidence information. Since the name is input both in English and inthe other language, the name is added rather than replacement. Themultilingual reservation information as generated is returned to theclient system 2.

4. Deleting Multilingual Information;

When information is deleted after logging in by designating Japanese,there are mainly two ways of operations. One way is such that onlyJapanese “letter information” is deleted from the relay server 3 whileinformation managed by the server system is not deleted. The other wayis such that both Japanese data and data managed by the server systemare deleted at once.

In accordance with the former case, when the relay server 3 receives arequest for deletion from the client system 2, it deletes data in therelay server 3 corresponding thereto and returns a response to theclient system 2 without accessing the server system 1. Contrary to this,in accordance with the later case, the relay server 3 transmits arequest for deletion as received from the client system 2 to the serversystem 1, and when receiving a response indicative of “success” from theserver system 1, the relay server 3 deletes data as managed thereinfollowed by returning a response to the client system 2. Meanwhile, inthe case where the client system 2 logs in without designating anylanguage, the data in the server system is deleted.

(Exemplary Modification)

Meanwhile, in accordance with the present embodiment, the relay server 3is located between the server system 1 and the client system 2. However,it is possible that the relay server 3 is physically implemented withinthe same machine as the server system 1 or the client system 2. Also,while the server system 1 and the relay server 3 are not n0ecessarilyprovided in a one-to-one correspondence, it is possible to provide,corresponding to one existing server system 1, a plurality of relayservers such as a relay server 3 a for Asia, a relay server 3 b forEurope and so forth as illustrated in FIG. 18.

Second Embodiment

Next, a second embodiment of the present invention will be explained. Inthis example as explained, it is assumed that a certain catalog retailerhandles operations of sending monthly direct mail of “Advisable ItemList for This Month” in accordance with the preference of each customerby the use of the data relay system and method in accordance with thepresent invention. A server system manages commodity information,customer information, sales information and so forth and provided with arecommendation engine.

It is also assumed that, in advance of introducing a relay server, theserver system had periodically generated monthly “Advisable Item Listfor This Month” and transferred it to a mail transmitting server inorder to send the respective customers. In accordance with thisembodiment, it is possible to implement a multilingual direct mailsystem by introducing a relay server between the server system and themail transmitting server. Meanwhile, the relay server in accordance withthe present embodiment is provided with a substantially equivalentconfiguration and equivalent functions as the relay server 3 explainedas the first embodiment described above.

The client system transmits a customer list containing “language codes”,“member numbers”, “names”, “residences” and “postal guide numbers” tothe relay server. This list includes customer information relating to avariety of countries and made up in a variety of languages, for example,Japanese, Chinese, French, and so forth.

The relay server receives the list, and then transmits a “membershipnumber” to the server system separately for each record followed byreceiving information containing “item numbers”, “the names of items(English)” and “prices” as an advisable item list for this month fromthe server system. The “commodity names (English)” as received arereplaced by multilingual names of items as replacement data which isobtained by searching the database section with keys (the first andsecond identification information) which are a “language code” and “thenames of items” in a commodity name table provided in the relay server.

The relay server serves to generate an advisable item list for everycustomer in a language as designated and return it to the client.

Third Embodiment

Next, as a third embodiment of the present invention, the use of a relayserver will be explained in order to make it possible to provide data inJapanese for online bank account transaction operating in English. Theserver system 7 for the online bank account transaction serves to managebank information, account information and customer information toprocess a variety of online services among customer client systems andbank client systems.

In this case, the bank client systems 5 are client systems forprocessing tasks in the bank side while the customer client system 4 areclient systems for providing online services for customers. Meanwhile,these client systems may be ATMs, personal computers, TVs, mobileinformation devices (mobile phones, PDA), and other types of onlineterminals.

The data relay system in accordance with the present embodimentcomprises a relay server 6 of the present invention between the serversystem 7 and the above described client systems 4 and 5 as illustratedin FIG. 19. The internal configuration of the relay server 6 issubstantially equivalent to that of the first embodiment as describedabove so that explanation is dispensed with.

In this case, the online services to be provided for the customer clientsystems 4 includes, for example,

-   1) Opening a new account;-   2) Withdrawals;-   3) Lodgment;-   4) Inquiry for the balances;-   5) Transferring money;-   6) Updating a bankbook;-   7) Updating registered information; and-   8) Canceling an account.-   On the other hand, the tasks to be performed by the bank client    system 5 includes, for example,-   1) Referring to account information corresponding to the customer's    name as given; and-   2) Registering bank information.

In what follows, the operation of the relay server in accordance withthe present invention will be explained in an exemplary case of openinga new account, withdrawals or lodgment of savings, and updatingregistered information among from the online services provided forcustomers. Meanwhile, among from the online services provided forcustomers as explained above, inquiry for the balances, transferringmoney, updating a bankbook, canceling an account, and tasks to beperformed by the bank side are logically equivalent to the processes ofopening a new account, withdrawals or lodgment of savings, and updatingregistered information.

First, examples of database tables to be managed by the database section71 maintained in the server system 7 are illustrated in FIGS. 20A to20F. In this case, the database section 71 includes six database tables,i.e., a customer basic table illustrated in FIG. 20A for storing basicinformation of customers, an account basic table illustrated in FIG. 20Bfor storing basic information of accounts, a money reception historytable illustrated in FIG. 20C for storing a history of money as receivedby each account, a money withdrawal history table illustrated in FIG.20D for storing a history of money as withdrawn from each account, abank basic table illustrated in FIG. 20E for storing basic informationof the bank, an account type code table illustrated in FIG. 20F forstoring the type code of each account and the type name thereof. Datastored as data entries of the respective tables can belanguage-independent data such as numerical/symbol information andlanguage-dependent data comprising English character string data whilethe character strings are hatched in the figures. Meanwhile, the namesand the structures of the respective tables and the table configurationof the database section may be made in any other formats as long as datacan be managed in the same manner so that the data management system ofthe server system 1 is not particularly limited thereto whenimplementing the relay server 6 in accordance with the presentinvention.

Next, examples of database tables to be managed by the relay server 6are illustrated in FIGS. 21A to 21D. The database section 61 of themultilingual relay server 6 is corresponding to data of the Englishcharacter string type as stored in the server system 7 and serves tomanage replacement data in the other language. In accordance with thisembodiment of the present invention, as illustrated in FIG. 21, thedatabase section 61 comprises four tables, i.e., a customer tableillustrated in FIG. 21A for storing the name and the residence of eachcustomer in Japanese, a bank table illustrated in FIG. 21B for storingthe name and the address of each bank in Japanese, an account type name(EtoJ) table illustrated in FIG. 21C for storing the type name of eachaccount as described in English with the corresponding type name of saideach account in Japanese, and an account type code table illustrated inFIG. 21D for storing the type name of each account in Japanese. Whilethe database of the relay server 61 in accordance with the presentembodiment has the structure as described above, the names and thestructures of the respective tables and the configuration of the tablesare not limited thereto and can be made in any other names, structuresand configuration as long as the database is located between the serversystem 7 and the client systems 4 and 5 and contains replacement data tobe input/output in Japanese corresponding to the existing English dataand numerical/symbol data such as customer numbers functioning as thefirst and second identification information associated thereto andrequired for detecting replacement data items.

Next, the use of a relay server in accordance with the presentembodiment as described above will be explained in the case where acustomer send a request for opening a new account. While requests andresponses described hereinafter are provided in the form of tag baseddata formats as illustrated in FIG. 24, an arbitrary data format can beused for the same purpose as long as the server and the client can berecognized them and the relay server can interpret data components asdescribed, i.e., the data components required for processing Englishcharacter strings and Japanese character strings. Also, while the tagsare described in Japanese, this is solely for the sake of explanation sothat the tags are not related to the multilingual processing inaccordance with the present invention. Furthermore, it is assumed thatdata entries as illustrated in FIGS. 22A and 22B and data entries asillustrated in FIGS. 23A to 23C are input to the server system as basicdata and the relay server respectively in advance.

Among from the basic data as illustrated in FIG. 19, the Japanese data(replacement data) of the name and the address of the bank to be inputto the database section 61 of the multilingual relay server 6 may beregistered in advance or may be registered at an arbitrary time from theclient system 5 provided for inputting bank information. In the casewhere the Japanese data (replacement data) of the name and the addressof the bank is not registered in advance, when the client system sends arequest for bank information, the relay server returns the Englishinformation of the server system as it is as a response to the clientsystem.

When a customer starts the operation for opening a new account with theclient system 4, the client system 4 sends, as a request for the newaccount, the request data as illustrated in FIG. 24 to the relay server6. In this case, the request data includes session information, thepersonal information of the customer required for opening a new account,information about the account to be opened and the first identificationinformation for designating a country (a language).

Meanwhile, the session number is used for distinguishing a series ofcommunication between the server system 7 and a certain client from aseries of communication between the server system 7 and another clientand determined by the server to establish the session throughcommunication in advance of the transaction between the client and theserver. Also, it is possible to make use of another item such as aterminal code available for identifying a session with the server inplace of a numeral or a symbol such as a session number.

When receiving a request data, the relay server 6 transfers the requestdata from the client data receiving section to the request dataseparating section. The process sequence in the request data separatingsection is as illustrated in FIG. 25.

That is, it is judged (S101) whether or not the request data requiresany process in the relay server 6. If no process is required, therequest data is maintained in the server data transmitting section(S112). If some process is required, a country code contained in therequest is analyzed (S102). The judgment of whether or not the requestdata requires any process is made by, while all the types of requests tobe processed are managed by the request data separating section, judgingall the requests out of the management as requests not to be processed.Conversely, the judgment can be made by managing the types of requestsnot to be processed.

If the request data does not contain a country code, it is judged thatthere is no data to be processed followed by transferring the requestdata to the server data transmitting section (S112). If the request datacontains a country code, it is transferred to the data processingsection together with a session number. Next, the name and the residenceas designated by this country code are extracted from the request dataas replacement data and are transferred to the data processing section(S105, S108). The data as extracted is deleted from the original request(S106). The request from which the country-code-dependent data isdeleted is evaluated, and if there is contained all the indispensabledata in the request as a request to be transferred to the server system7, the request is transferred to the server data transmitting section asit is (S112). In the case where there lacks any indispensable data afterdeleting the country-code-dependent data from the request, theindispensable data is generated (S110) and added to the request data.

The generation of the indispensable data in the step S110 is performedas follows. Namely, while the types of requests and the indispensabledata of the requests are managed in a table, if among from the name andthe address to be included in the request the name for example isdesignated written with romanized Japanese words, the romanized name isused as it is. If not, dummy data containing for example the countrycode is generated with the tag of

and added to the request. With reference to the residence entry, aresidence written with romanized Japanese words is generated from apostal guide number and added to the request with the tag of

.

Then, the request as modified above is transferred to the server datatransmitting section (S111). This request is illustrated in FIG. 26.

When receiving this request from the relay server, the server system 7serves to perform the process for opening a new account while the datatables as illustrated in FIGS. 27A to 27C are updated by registration inassociation with the process for opening the new account. FIG. 28 showsa response to the request as transmitted from the server datatransmitting section. As illustrated in the same figure, the responsedata from the server system 7 includes a customer number, an accounttype name, an account number, an amount of money and so forth. When theserver data receiving section of the relay server receives this responsedata from the server system, it is transferred to the data generatingsection and the data processing section. The process sequence in thedata processing section receiving this response data is as illustratedin FIG. 29.

Namely, the request from the client is transferred to the request dataseparating section while the data processing section receives, from therequest data separating section, the type of the request, a sessionnumber, a country code and country-code-dependent data (S201). Amongfrom the type of the request, the session number, the country code andthe country-code-dependent data, thereafter, the session number and thecountry code (S202) are stored in the session managing unit while theremaining items depending upon the type of the request and the countryare processed in accordance with the type of the request (S204). In thecase of opening a new account in accordance with this example, sincecustomer information is to be registered in Japanese, the relay servertemporarily stores the name and the residence in association with thesession number followed by waiting for response data from the serversystem (S205).

When a response from the server data receiving section is received, asession number is extracted (S206). Then, it is judged whether or notthe response data associated with the session number is to be processed(S207). If to be processed, the data is processed depending upon thetype of the response. If not to be processed, a notice is transmitted tothe data generating section to indicate that the data is not processed(S208).

In accordance with this example, after confirming that the response isassociated with the session in which data is temporarily stored, thecustomer number is extracted as the second identification informationfrom the response as received and registered in the database sectiontogether with the replacement data such as the name and the residence asreceived by the request data separating section in association with eachother as customer data in the response dependent process in the stepS209. Furthermore, the data of account type name is extracted and usedas a key to obtain a Japanese account type name from the databasesection followed by transferring the Japanese account type name togetherwith the country code to the data generating section.

The process sequence in the data generating section is as illustrated inFIG. 30. Namely, after obtaining the response data (S301), the datagenerating section waits for a command from the data processing section(S302) and judges whether or not the data is to be processed (S303).

If not to be processed, the data is transferred to the client datatransmitting section as it is. If to be processed, it is judged whetheror not the data contains language-dependent data to be replaced byJapanese data (S304). If there is contained language-dependent data tobe replaced in the response data from the server system, such data isreplaced by replacement data as obtained from the data processingsection (S305) and then processing proceeds to the step S306. In thiscase, the account type name (“futsu”) is replaced by country-dependentdata (”

”). In the case where it is judged that there is available nolanguage-dependent data to be replaced in the step S304, the processingproceeds to the step S306.

It is judged in the step S306 whether or not there is contained anylanguage-dependent data to be added to the response data from the serversystem. If there is such data, country-dependent replacement data asobtained from the data processing section is added to the response data(S307). In this case, country code data (81) is added.

Then, the response data as generated is transferred to the client datatransmitting section (S308) while the client data transmitting sectiontransmits the response data to the client. At this time, the responsedata as illustrated in FIG. 31 is finally sent from the client datatransmitting section to finish the process for opening a new account.

Next, as an example of withdrawals or lodgment of savings will beexplained the case where the operation of lodgment is performed with aclient used by a customer will be explained.

When the client data receiving section of the relay server 6 receivesrequest data for lodgment as illustrated in FIG. 32 from the customerclient system 4, the request data separating section serves to extract acountry code, a session number, the type of the request, and a bank codefrom the request data and transfers them to the data processing section.Then, after the country code is deleted from the request data, therequest data is transferred to the server data transmitting section as arequest to be transferred to the server system.

When the request data is transferred from the server data transmittingsection to the server system, the server system 7 serves to perform thelodgment operation. In this case, data in the server system 7 is changedfor example as illustrated in FIGS. 33A to 33B. When the lodgmentoperation is completed in the server system 7, response data asillustrated in FIG. 34 is transferred to the server data receivingsection of the relay server 6.

On the other hand, the server data receiving section transfers theresponse data as obtained to the data processing section and the datagenerating section while the data processing section searches thedatabase section for a Japanese bank name from a bank code and thentransfers the result of searching to the data generating section asreplacement data. Also, the country code as obtained from the requestdata separating section is transferred to the data generating section.

The data generating section then serves to replace an English bank nameby the bank name as obtained from the data processing section withreference to the response data as obtained from the server datareceiving section, while adding the country code as obtained from thedata processing section to the response data, and then the response datais transferred to the client data transmitting section. On the otherhand, the client data transmitting section transmits the response dataobtained from the data generating section as illustrated in FIG. 35 tothe client system 4.

The following is a description of the case where a customer updates theresidence information of a certain account. When the customer sends arequest for updating residence information through the client system 4,the client data receiving section of the relay server 6 receives data asillustrated in FIG. 36 and transfers it to the request data separatingsection. The request data separating section then extracts a countrycode, the type of the request and a session number from the request dataand transfers them to the data processing section. Also, the requestdata separating section deletes the country code from the request dataand then transfers the request data to the server data transmittingsection. The server data transmitting section transmits the request datato the server system.

The server system 7 then serves to search the customer information withreference to the request as received and return the result for exampleas illustrated in FIG. 37 to the relay server 6 as response data.

The relay server 6 transfers the response data as received by the serverdata receiving section to the data processing section and the datagenerating section while the data processing section searches for aJapanese name and a Japanese residence with reference to the customernumber and transfers them to the data generating section. Also, thecountry code as obtained from the request data separating section istransferred to the data generating section.

On the basis of the response data as received from the server datareceiving section, the data generating section serves to add theJapanese name thereto and replace an English residence by the Japaneseresidence to generate response data by adding the country code asillustrated in FIG. 38 and transfer it to the client data transmittingsection. The client data transmitting section returns the response dataas received from the data generating section to the client system 4.

The response data returned to the client system 4 is displayed, forexample, on the display of the client system 4 to prompt the customer toindicate which information item is to be updated among from theregistration information of the customer. At this time, when thecustomer wants to update the residence information by designating a newresidence to the client, the request data as illustrated in FIG. 39 istransmitted again.

When receiving this request data, the relay server 6 extracts a sessionnumber, the type of the request, the customer number, the residence andthe country code and then transfers them to the data processing section.Also, after removing the residence and the country code which arelanguage-dependent data from the request data, an English residence isgenerated with reference to the postal guide number and replaced by theJapanese residence. The request data as generated at this time is asillustrated in FIG. 40. The request data as generated is transferred tothe server data transmitting section.

On the basis of the customer number and the residence as received fromthe request data separating section, the data processing section servesto update the residence data stored in the database section with thecustomer number as a key.

The server data transmitting section serves to transmit the request datafrom the request data separating section to the server system 7 whilethe operation for updating residence information is performed by theserver system 7. If the response indicative of the success of updatingthe residence data, for example, “<

>0</

>”, is transmitted from the server system 7 and received by the serverdata receiving section of the relay server 6, the response istransferred to the data generating section and the data processingsection. In response to the response indicative of the success ofupdating the residence data at the server system 7, the data processingsection finalizes (commits) the process for updating the residenceinformation in Japanese and transfers the country code data to the datagenerating section.

After receiving the country code data, the data generating sectionserves to add the country code to the response data as received from theserver data receiving section. The response data at this time is asillustrated in FIG. 41. The client data transmitting section thenreceives the response data and transmits it to the client system 4 tocomplete the process in this session.

Fourth Embodiment

Next, a fourth embodiment of the present invention will be explained.The present embodiment will be explained with an example in which thepresent invention is applied to an online shopping system. In thisembodiment of the present invention, the server system is an onlineshopping site (shop.com) for selling articles of clothing. This onlineshopping site includes a Web page P1 providing services in English asillustrated in FIG. 42.

Also, in accordance with the present embodiment, a relay server islocated between the server system and client systems used by users whowant to buy articles on the online shopping site of the server system.The relay server serves to replace the language-dependent data in theWeb page P1 as illustrated in FIG. 42 by replacement data to convert theWeb page P1 to a Web page P2 designed in Japanese so that users canbrowse the commodity information in Japanese and so forth.

1. Browsing Commodity Information;

When a user selects a ladies' sweater on the Web page P2, the WEBbrowser transmits a major division code (female=2) and a minor divisioncode (sweater=6) which are stored therein together with the languagecode designating Japanese (the first identification information) to therelay server. The relay server transfers these codes to the serversystem as it is while the server system returns a list S1 as illustratedin FIG. 44 as the results of searching to the relay server. The relayserver extracts from the list S1, as received, an ItemNumber, a Currencycode, and an ItemColor code (the second identification information foridentifying language-dependent data) and then searches the databasesection of the relay server. The database section contains data tablesas illustrated in FIGS. 45A to 45C storing Japanese data (replacementdata) corresponding to the respective codes.

The server system is responsible for unified management of all thelanguage-independent data such as the correspondence between divisioncodes, commodities, color types of commodities, prices and currenciesand so forth. The relay server rewrites the list received from theserver system as illustrated in FIG. 46 with reference to the results ofsearching the database and returns the list as rewritten to the clientsystem.

2. Ordering a Commodity:

Next, the flow of the procedure of ordering a commodity will beexplained. The server system provides delivery information on a Web pageP3 entirely described in English as illustrated in FIG. 47. The relayserver in accordance with the present embodiment serves to provide a Webpage P4 described in Japanese as illustrated in FIG. 48 by replacing thelanguage-dependent data contained in the Web page P3 so that a user canplace an order through the Web page P4.

First, the relay server receives an order list S3 as illustrated in FIG.49 from the user. More specifically speaking, the relay server receivesan HTML script transmitted together with predetermined input items (suchas a name, sex, a commodity name, commodity properties (color, type andthe like)) as input by the user on an input form of the WEB browser atthe user's side.

The order list S3 includes a number of Japanese words and thereforecannot be transferred to the server system as it is. In order to convertthe list to a list which can be handled by the server system, thefollowing processing is performed.

(1) Deleting Tagged Data of a Name With Chinese Characters:

Data of a name is indispensable data for the server system so that theuser is prompted to enter a name both with chinese characters and withromanized Japanese words. The relay server saves the name written withchinese characters while the server system saves the name written withromanized Japanese words.

(2) Searching for an English Residence and Replace Japanese DataThereby.

In the relay server serves is maintained a residence table (in English)provided in correspondence with postal guide numbers. With a postalguide number 105-0001 as received from the user as a key, informationcan be obtained as “Tokyo, Minato-ku, Shibaural-1”. With the aboveEnglish data, tagged data corresponding to <State>, <City> and<Address1> is replaced.

(3) Deleting Japanese Information Associated with Each Tag Having ACode:

The tags of commodity, color, size, sex and country name are used todesignate both codes and Japanese names. Since the server system canperform operation only with a code, these Japanese names (“

”,“

”, “

”, “

” and “

”) are deleted.

FIG. 50 shows a list S4 which is generated by this process andtransferred to the server system. The server system then performs anordering operation and return an order number if resulting in success.The relay server judges that the operation of the server system hassucceeded and therefore extract, with the order number as a key, theJapanese data as stored in a memory of the request data separatingsection followed by saving the Japanese data in the database section.

When shipping the commodity, it is delivered to the customer, if thecommodity is in stock in Japan, by searching for the Japanese residenceand the name through the relay server. If the commodity is not in stockin Japan and therefore to be delivered directly from U.S.A., it ispossible to use the English information as stored in the server system.

Fifth Embodiment

Next, a fifth embodiment of the present invention will be explained. Inthis example as explained in accordance with the present embodiment ofthe present invention, it is assumed that a hotel delivers direct mailto the guests having stayed at the hotel at a later date. In accordancewith the present embodiment, the server system is a server serving toaccept reservations of hotel rooms and the like in English alphabet.

This server system serves to perform reservations of hotel rooms inEnglish alphabet. For this reason, when delivering direct mail to theguests having stayed at the hotel at a later date for merchandising, theaddresses have to be identified only with alphabetical notations whereasthe body text can be freely prepared. It appear odd if the name and theaddress are not written in Japanese in spite of the fact that a Japaneseguest has stayed in a hotel located in Japan and that a mail has beenposted in Japan, and therefore the marketing procedure may becomeineffective.

In this situation, when a guest as stayed registers a name and aresidence in Japanese (or in the native language), the relay server inaccordance with the present embodiment saves the language-dependent datain the database section and transfers the stay specification (the numberof nights, the class of the room, the rate per night, whether or notactually stayed and so forth) to the server system, while the stayspecification is stored in the database of the server system. Also, therelay server in accordance with the present embodiment serves to takestatistics of the performance of utilization and generate marketinginformation for each category of residences, frequencies and so forth.

When delivering an event information mail to guests having stayed orwhen delivering a courtesy invitation mail to such guests as havingstayed for a predetermined times in a year at a later date for amerchandising purpose, the hotel person in charge of merchandisingsends, through the relay server, a request for selecting addresses andprinting mailing labels of direct mail to the booking system. Whenreceiving this request data, the relay server transfers the data to theserver system as it is since there is no language-dependent data in therequest data at this time.

The server system serves to select a predetermined number of addresseswith reference to the postal guide numbers and the frequencies ofcustomers in accordance with a predetermined algorithm and generate anaddress list including residences, names, postal guide numbers andcustomer numbers.

This list can be used to prepare mailing labels written withalphabetical notations as in the prior art technique by transmitting thedata to a printing machine. However, since the instruction of preparinga list is issued through the relay server in accordance with the presentembodiment, the server system transmits this address list to the relayserver.

The relay server then searches the database section with the customernumbers as keys to extract residences, names and language information togenerate an address list including the residences, the names and thepostal guide numbers. In the case where a character set permittingmultilingual codes such as Unicode is used for preparing the addresslist, it is possible to use notations containing a mixture of aplurality of languages. Alternatively, separate lists for the respectivelanguages may be output by sorting the entries with respect to languagesjust before the relay server outputs.

As explained in the above, by the use of the system in accordance withthe present embodiment, it is possible to extend a booking system withease in order to describe addresses in Japanese (or the native languageof each customer having stayed) and therefore possible to obtain highmerchandising effects at a low cost per performance. Meanwhile, whilethe above-described example is explained as a direct mail deliverysystem through the post, the technique is applicable to other types ofdelivery systems such as e-mail, My Pages of WWW (My Page is a privatepage as customized for each user and opened through WWW by inputtingID/Password) and so forth.

Sixth Embodiment

In what follows, a sixth embodiment relating to another invention willbe explained.

FIG. 51 is a view for explaining the overview of the informationprocessing apparatus in accordance with a sixth embodiment of aninformation processing method of the present invention for handlingmultiple languages; FIG. 52 is a schematic block diagram showing themajor portions of FIG. 51.; FIG. 53 and FIG. 54 are views for explainingthe information input in a markup language and the information obtainedby dividing it in the information processing method as illustrated inFIG. 51; FIGS. 55A to 55C are a schematic diagrams showing a searchmanaging table generated by a search processing section as illustratedin FIG. 52; FIG. 56 is a view for explaining a multilingual conversionfilter processing section as illustrated in FIG. 52; FIG. 57 is aschematic diagram showing a conversion managing table for managing theconversion process for each transaction in the multilingual conversionfilter processing section; FIG. 58 is a view for explaining amultilingual filter conversion database; FIG. 59 is a flowchart forexplaining the search request process of the multilingual conversionfilter processing section as illustrated in FIG. 51; FIG. 59 is aflowchart for explaining the search result process of the multilingualconversion filter processing section; FIG. 60 is a flowchart forexplaining the search result process of the multilingual conversionfilter processing section; FIG. 61 is a flowchart showing the procedurefor searching basic information in the information processing method asillustrated in FIG. 51; FIG. 62 is a flowchart showing the procedure forsearching additional information in the information processing method asillustrated in FIG. 51; FIG. 63 is a flowchart showing the procedure forsearching for local information in the information processing method asillustrated in FIG. 51; FIG. 64 is a flowchart showing the procedure forassembling data for display in the information processing method asillustrated in FIG. 51; and FIG. 65 is a schematic diagram showing thestructure of the multilingual database.

The information processing system as illustrated in FIG. 51 is providedwith a communication terminal 301 for example used by a user or anoperations manager in U.S.A, a communication terminal 302 for exampleused by a user or an operations manager in Japan, a server 303 forexample located in Singapore and a Web server 306 on the Internet 305,which are connected to each other. The server 303 can be accessed, forexample, by a mobile terminal 304 used by a user or an operationsmanager in China.

To the Web server 306 are connected a multilingual system 307 and acontents server 311. The multilingual system 307 serves to accept aplurality of languages, search contents as described below, and returncontents as a result of the search to the communication terminal 301 and302 and the mobile terminal 304 accessing it, and provided with amultilingual conversion processing section 308, a multilingualconversion filter database section 309 and a contents server interface310.

The multilingual conversion processing section 308 serves to performmultilingual conversion. Necessary information required for charactercode conversion relating to local information is registered in themultilingual conversion filter database section 309. The contents serverinterface section 310 serves to relay information from and to thecontents server 311. The contents server 311 is provided with contentsdatabase 312.

In FIG. 52 showing the major portions of FIG. 51, the Web server 306serves to process request provided by HTTP protocol as transmitted fromthe communication terminal 301 for example used by a user or anoperations manager in U.S.A, the communication terminal 302 for exampleused by a user or an operations manager in Japan and the server 303 forexample located in Singapore as described above.

The multilingual conversion processing section 308 is provided with amarkup language processing section 308 a, a requested language judgmentprocessing section 308 b, a telegraphic message division processingsection 308 c, a language specific filter processing section 308 d, asearch processing section 308 e and a telegraphic message assemblyprocessing section 308 f.

The markup language processing section 308 a serves to process SGML,HTML and XML as markup languages respectively as well as other type ofmarkup languages. Also, the markup language processing section 308 aserves to divide and extract information of data as input from the Webserver 306 and, conversely, to insert markup tags into the telegraphicmessage to be output to the Web server 306.

The requested language judgment processing section 308 b serves todetermine the language codes used by the communication terminals 301 and302 for inputting and displaying the respective information as describedabove and setting the corresponding country codes for the communicationterminals 301 and 302 and so forth.

Also, the language code is obtained from information contained in theinformation of each terminal for inputting and displaying the respectiveinformation, for example, the environment variable information or theconfiguration file of each terminal. Alternatively, this can be obtainedalso from a kind of script languages or embedded information calledcookies.

The telegraphic message division processing section 308 c serves todivide the telegraphic message information transmitted from thecommunication terminals 301 and 302 and so forth and generate searchinformation to be transferred to the search processing section 308 e.

For example, illustrated in FIG. 53 and FIG. 54 are information which isobtained by dividing the telegraphic message in the markup languageprocessing section 308 a, dividing again in the telegraphic messagedivision processing section 308 c, and being constructed in thetelegraphic message assembly processing section 308 f as describedbelow.

Namely, FIG. 53 and FIG. 54 show an example of the telegraphic messageas exchanged with a book store opened on the Internet 305 in the casewhere a user obtain the information of a book by inputting the title ofthe book, the author of the book and the country name of the user inorder to searching for the book.

First, as illustrated in FIG. 53, the telegraphic message is divided onthe basis of information as input from the communication terminals 301and 302 followed by inquiring search items of both global and localinformation to the basic information database 312 a and a basicinformation auxiliary database 312 b as described below. This is becausethere is available information at least in the basic informationdatabase 312 a and the basic information auxiliary database 312 b. Atthe same time, with respect to the search items extracted as localinformation, a multilingual database 312 c and a multilingual auxiliarydatabase 312 d as described below are searched. Namely, this is becausethere is available information for each country with respect to thesearch items of the local information as extracted by division.

Also, FIG. 54 shows an example of the telegraphic message as generatedby the telegraphic message assembly processing section 308 f asdescribed below to be returned to the communication terminals 301 and302 as a result of the searching process.

In this case, while there is available local information about a pictureof the book (Picture), there is no local information of the introductorypicture (Author) of the Author and the message (Voice) of the Author sothat the basic information is returned as it is.

The language specific filter processing section 308 d serves to convertcharacter codes relating to local information with reference to theinformation of the multilingual conversion filter database section 309as illustrated in FIG. 56. The local information may contain informationin a plurality of character encoding systems in a single nativelanguage. In this case, the character codes used in the communicationterminal 301 or 302 are converted to corresponding character codes asused in the contents database 312 while the character codes of contentinformation as obtained are converted in the reverse direction to thecharacter codes used in the communication terminal 301 or 302.

That is, for example, in the case where the contents database 312 issearched for multilingual information, a character string as a searchterm has to be encoded in the character code system used in the contentsdatabase 312. It is required to determine which character code set isexpected, for data response, by the communication terminal 301 or 302,the server 303 or the like having inquired, for example, in Japanesecharacter code sets, i.e., Shift-JIS, JIS, EUC and so forth in order toreturn a response in the character code set as required, and thereforeeach transaction is managed with a conversion management table asillustrated in FIG. 57.

Also, it is considered appropriate that the contents database 312 storesmultilingual data in Unicode. In this case, at the outset, a searchcharacter string in the local character code set is converted to acharacter string in Unicode and transferred to the search engine. Afterfinishing the search process and providing a search result in Unicode,i.e., when a content is prepared and available to be returned, the samelanguage filter is used to inversely convert a character string inUnicode to a character string in the local character code set.

The conversion is performed by the use of a conversion table betweeneach local character code set and the Unicode set. The conversion tablesare stored in a conversion table database as illustrated in FIG. 58while an appropriate table is read by a character conversion applicationin response to a request from the communication terminal 301 or 302, theserver 303 or the like.

With reference to a conversion table which is frequently accessed, theconversion table is loaded to a memory when running an applicationprogram, rather than accessed each time it is needed, for the purpose ofmaking it possible to instantaneously respond to a request from thecommunication terminal 301 or 302, the server 303 or the like.

In this case, the information stored in the multilingual conversionfilter database section 309 includes country codes, character codes,character auxiliary codes, alternate character codes, Unicode sets andso forth as illustrated in FIG. 58.

The search processing section 308 e serves to generate a search managingtable as illustrated in FIGS. 55A to 55C, to manage whether or notsearch information has been obtained for each search item and search forglobal information (in English in many case) and local information(information in the native language of each customer) at the same timefor the same information. In this case, if there is available localinformation, the local information is selected with priority while, ifnot, global information is returned. When all the required localinformation becomes available, the information is returned at that time.However, if all the local information does not become available for acertain time while an internal timer is provided to generate aninterrupt, the information as available at the time when time is up isreturned, as long as all the necessary information is availableirrespective of whether global or local information, for the purpose ofaccelerating the process.

Namely, in the search managing table as illustrated in FIGS. 55A to 55Care managed basic information, additional basic information,multilingual information, and additional multilingual informationrespectively for each of the basic information database 312 a, the basicinformation auxiliary database 312 b, the multilingual database 312 cand the multilingual auxiliary database 312 d as described below byassigning packet numbers to the respective search items.

All the items are set to “0” in the initial state as illustrated in FIG.55A followed by setting the items requiring search operations to “1” asillustrated in FIGS. 55B and 55C. When the search operation of an itemsucceeds, the “1” of the item is changed to a “0”. In this case, aprocess is performed in the row direction and in the column direction ofthe table. If all the items are set to “0”, for example as illustratedin FIG. 55A, it means that all the required information becomesavailable.

Also, a search limit may be provided by monitoring with a timer for thepurpose of shortening the waiting time of a user. In this case, whentime is up, only information set to “0” is returned to the user. Forexample, in the case where there is not available local information,which is considered usually available under ordinary circumstances, ifglobal information has been available, the global information isreturned.

The telegraphic message assembly processing section 308 f serves toassemble a telegraphic message as resultant information obtained after asearch operation to be returned, for example, to the communicationterminals 301 and 302 as described in conjunction with FIG. 54.

The contents server interface 310 serves to convert a request forsearching as issued from the search processing section 308 e to alanguage for search which can be handled by the contents server 311, andtransmit an information acquisition request, an information additionrequest, an update request and so forth.

Meanwhile, the multilingual system 307 serving to perform a set ofprocesses as described above may be implemented as a computer systemlocated between the Web server 306 and the contents database 311 or as aprocessing section operating in the same computer as the Web server 306and the contents server 311.

The contents server 311 is provided with, as the contents database 312,the basic information database 312 a, the basic information auxiliarydatabase 312 b, the multilingual database 312 c and the multilingualauxiliary database 312 d.

The basic information database 312 a and the basic information auxiliarydatabase 312 b serve to register data for storing global information andglobal additional information respectively.

Meanwhile, the basic information database 312 a, the basic informationauxiliary database 312 b, the multilingual database 312 c and themultilingual auxiliary database 312 d may be maintained in the samecontents server 311. Alternatively, the basic information database 312 aand the basic information auxiliary database 312 b are implemented inorder to operate in a different server separate from a server in whichthe multilingual database 312 c and the multilingual auxiliary database312 d operate.

Also, the multilingual database 312 c and the multilingual auxiliarydatabase 312 d may be integrated within the multilingual system 307 foroperation. By applying such configuration, it is possible to provideonly multilingual processing functionality for a plurality of servers.

Next, the information processing method for handling multiple languagesin the information processing method designed with the configurationwill be explained.

First of all, the case where basic information is searched will beexplained with reference to FIG. 61. When a user accesses, globalinformation and local information are searched by the search processingsection 308 e as illustrated in FIG. 52 (Step 1101). In this case,information acquisition by the search processing section 308 e isperformed on the basis of the search information as obtained by thetelegraphic message division processing section 308 c as illustrated inFIG. 52, which telegraphic message is obtained by dividing telegraphicmessage information transmitted from the communication terminals 301 and302 and the like.

At this time, it is judged whether or not local information is available(Step 1102). If available, the request for searching for globalinformation is cancelled (Step 1103), while the local information isobtained from the multilingual database 312 c (Step 1104), and then theinformation as obtained is returned to the telegraphic message assemblyprocessing section 308 f (Step 1105).

Conversely, if it is judged that local information is not available in(Step 1102), global information is obtained from the basic informationdatabase 312 a (Step 1106) and returned to the telegraphic messageassembly processing section 308 f (Step 1105).

Next, the case where additional information is searched will beexplained with reference to FIG. 62. In the same manner as describedabove, global information and local information are searched by thesearch processing section 308 e (Step 1201). At this time, it is judgedwhether or not the actual data designated by local information isavailable (Step 1202). If available, the request for searching forglobal information is cancelled (Step 1203), while the local informationitem is obtained (Step 1204), and then a corresponding item as obtainedfrom the multilingual auxiliary database 312 d (Step 1205) is returnedto the telegraphic message assembly processing section 308 f (Step1206).

Conversely, if it is judged that a required item of local information isnot available in (Step 1202), a required item of global information isobtained (Step 1106) and then a corresponding item as obtained from themultilingual auxiliary database 312 d (Step 1205) is returned to thetelegraphic message assembly processing section 308 f (Step 1206).

Next, a local information conversion management process will beexplained with reference to FIG. 63. A transaction ID, a country code, acharacter code set and a terminal information are input to themultilingual conversion management table as illustrated in FIG. 57 (Step1301) followed by sending a request for information conversion processto the language specific filter processing section 308 d as illustratedin FIG. 57 (Step 1302). The request in this case is based upon thesearch information from the telegraphic message division processingsection 308 c as described above.

At this time, it is judged whether or not conversion informationacquisition corresponding to the country code has succeeded (Step 1303).If the conversion information acquisition corresponding to the countrycode has succeeded, a corresponding acquisition flag is set “on” (Step1304). Conversely, If no conversion information is available, theacquisition flag is set as error and returned to the language specificfilter processing section 308 d (Step 1305).

Next, a search request process of the language specific filterprocessing section 308 d will be explained with reference to FIG. 59. Acode conversion correspondence table is obtained with reference to thecharacter code information (Step 901). The correspondence table is, forexample, as illustrated in FIG. 58. Then, it is judged whether or notthe code conversion correspondence table is obtained (Step 902). If thecode conversion correspondence table is obtained, the correspondencetable is used to convert the request in the character code set handledin the contents database 312 as illustrated in FIG. 51 with reference tothe country code and the like (Step 903) and transferred to the searchrequest to the search processing section 308 e (Step 904).

Conversely, if the code conversion correspondence table is not obtained,an alternate conversion correspondence table is obtained in accordancewith an alternate character code set when the alternate character codeset is designated in the multilingual conversion filter database section309 (Step 905). Then, the request is converted into the alternatecharacter code set (Step 903) and transferred to the search processingsection 308 e (Step 904).

Next, the search result process of the language specific filterprocessing section 308 d will be explained with reference to FIG. 60. Acode conversion correspondence table is obtained with reference to thecharacter code information (Step 1001). The correspondence table is asexplained in conjunction with FIG. 59. Then, it is judged whether or notthe code conversion correspondence table is obtained (Step 1002). If thecode conversion correspondence table is obtained, the correspondencetable is used to convert the request in the character code set handledin the contents database 312 as illustrated in FIG. 51 with reference tothe country code and the like (Step 1003) and transferred to thetelegraphic message assembly processing section 308 f (Step 1004).

Conversely, if the code conversion correspondence table is not obtained,an alternate conversion correspondence table is obtained in accordancewith an alternate character code set when the alternate character codeset is designated in the multilingual conversion filter database section309 (Step 1005). Then, the request is converted into the alternatecharacter code set (Step 1003) and transferred to the telegraphicmessage assembly processing section 308 f (Step 1004).

Next, the process of assembling data to be displayed will be explainedwith reference to FIG. 64. After the process of inserting basicinformation (Step 1401), flags of the basic packet table as illustratedin FIGS. 55A to 55 c are set “On” (Step 1402). In parallel with theseprocesses, after the process of inserting multilingual information (Step1403), flags of the multilingual packet table are set “On” (Step 1404).

Next, the processing proceeds to a character information merging process(Step 1405). In this case, after the process of inserting basicadditional information (Step 1406), flags of the basic additionalinformation packet table as illustrated in FIGS. 55A to 55C are set “On”(Step 1407). In parallel with these processes, after the process ofinserting multilingual additional information (Step 1408), flags of themultilingual additional information packet table are set “On” (Step1409).

Then, after the flags of the basic information and additionalinformation packet tables are judged (Step 1410), an additionalinformation and basic information merging process is performed if an Onflag exists (Step 1411), and then the information is returned to therequesting system (Step 1412). Conversely, if no “On” flag exists, thesystem waits for a timer interrupt (Step 1413). When time is up, theadditional information and basic information merging process isperformed (Step 1411), and then the information is returned to therequesting system (Step 1412).

As explained in conjunction with FIG. 65, the multilingual databasedesignated by reference numeral 312 c in FIG. 52 contains content IDs,country codes, character codes and character auxiliary codes, storescharacter string contents corresponding to the respective charactercodes and furthermore stores object handles which are index informationto photographs, sounds, graphics and so forth.

Accordingly, in accordance with this embodiment, when users respectivelyusing their native languages access the Web server 306 on the Internet305 with the communication terminals 301 and 302 and so forth, themultilingual system 307 connected to the Web server 306 serves to outputsearch requests corresponding to a plurality of languages used by theaccesses while the contents server 311 receives the search requests,searches the contents database 312 for contents matching the searchrequests and returns the contents to the multilingual system 307, andtherefore it is possible with ease to support multiple languages inmanaging the provision of contents, addition, change and deletion of thecontents and operation of the system.

Also, since it becomes easy to support multiple languages, in thismanner, making it possible to access contents without awareness of thelanguage, further increase of users is expected. Furthermore, byintegrating and operating the multilingual database 312 c and themultilingual auxiliary database 312 d with the multilingual system 307and providing the integrated system for other providers, it is possibleto position the providers apart from the rest.

Still further, by making use of such an integrated system in theprovider side, it is possible to dispense with preparation of contentsin the languages of the respective countries and therefore to cut costsand lessen the complexity in maintaining the operation.

Still further, for the provider making use of such an integrated system,it is possible to develop services for other providers which do not makeuse of the integrated system. The services implemented with the datarelay server in accordance with the present invention include theprovision of the system, the provision of a service for processing databased upon the system, the provision of an intermediary service by theuse of the system and so forth.

Meanwhile, while the respective embodiments as described above have beendescribed as systems mainly applied for online electronic transactions,the present invention is not limited thereto but applicable to any otherservices which become expedient by making use of the system inaccordance with the present invention.

Such services include, for example, online commerce for books,convenience goods, newspapers, magazines, research papers, videosoftware, games, music software and so forth; implementation ofmercantile exchange of financial instruments such as corporate stocks,investment trusts and so forth; education services such as generaleducation, language education and so forth; leisure services such astraveling services, accommodation services, tourist information servicesand so forth; the easy provision of corporate advertisements,governmental bulletins and so forth broadly among multiethnic,multinational and transnational population.

Furthermore, by making use of the present invention, it is possible toprovide navigation services, for example, the guidance of tourist sites,the guidance of connection and so forth. Still further, it is possibleto apply the present invention to medical services, for example,doctor's questions, drug prescriptions and so forth and to publicservices aimed at foreigners, for example, immigration and departurecontrol, postal services, police services and so forth.

PRACTICAL INDUSTRIAL APPLICABILITY

In accordance with the present invention, by providing a relay serverresponsible to manage data associated with a function introduced anewwhile the request data from a client is divided into a portion relatingto the new function and a portion to be transferred to a server systemso that the portion relating to the new function is processed by therelay server, added to the response data from the server system orreplaced by a part of the response data and then returned to the client,it is possible to extend available data formats between the relay serverand clients without compromising the compatibility of data formatsbetween the server system and the clients and therefore possible to adda new function such as providing a service in another language inaddition to the current language without need for halting the currentserver/client system to interrupt the services thereof, without need formaking modification to the conventional server/client system which wouldmake it impossible to use the server/client system, and without need fordeveloping again the large-scale complicated server system.

Furthermore, in accordance with the information processing method andthe storage medium relating to another invention, when usersrespectively using their native languages access a Web server on theInternet with the communication terminals, the multilingual systemconnected to the Web server serves to output search requestscorresponding to a plurality of languages used by the accesses while thecontents server receives the search requests, searches the contentsdatabase for contents matching the search requests and returns thecontents to the multilingual system, and therefore it is possible withease to support multiple languages in providing contents.

1. A data relay system for relaying data exchanged between a serversystem of a service provider and a client system of a user, said datarelay server comprising: a database section which is configured to storeidentification information for identifying language-dependent data andreplacement data corresponding to said language-dependent dataassociated with each other; a server data receiving section which isconfigured to receive server data from said server system; a dataprocessing section which is configured to search said database sectionon the basis of said identification information contained in the serverdata as received, and detect the replacement data associated with saididentification information; a data generating section which isconfigured to identify said language-dependent data contained in theserver data as received, and replace said language-dependent data asidentified by said replacement data associated therewith; a client datatransmitting section which is configured to transmit the server datareplaced by said data generating section to said client system; whereinthe data relay system further comprises a request data receiving sectionwhich is configured to receive request data from said client system; anda request data separating section which is configured to extract firstidentification information contained in the request data as received foridentifying said replacement data, wherein said data processing sectionis configured to extract second identification information foridentifying language-dependent data contained in said server data, andwherein said data processing section is configured to detect thereplacement data on the basis of said first identification informationand said second identification information; and wherein said requestdata separating section is configured to generate server request data bydeleting, from the request data as obtained from the client system,language-dependent data which can not be processed by said server systemand said first identification information, and wherein said relay serveris provided with a server data transmitting section which is configuredto transfer the server request data to said server system.
 2. The datarelay system as set forth in claim 1 wherein when said data processingsection fails to detect replacement data, said data generating sectiondoes not replace but outputs the language-dependent data as obtainedfrom said server system to said client data transmitting section.
 3. Thedata relay system as set forth in claim 1 further comprising: a storingmechanism which is configured to receive the replacement data and thefirst identification information corresponding to said replacement datafrom said client system and store said replacement data and the firstidentification information; a processing result acquisition mechanismwhich is configured to acquire said second identification information asthe processing result of said server system; and a registering mechanismwhich is configured to register said replacement data as stored in saidstoring mechanism, the first identification information correspondingthereto and the second identification information as acquired by saidprocessing result acquisition mechanism in accordance with theprocessing result.
 4. The data relay system as set forth in claim 1wherein said request data separating section is provided with a functionto add pseudo data in place of the language-dependent data as deleted.5. The data relay system as set forth in claim 4 wherein said requestdata separating section which is configured to identify the languageused in said client system and has said pseudo data including data fordisplay which can be processed by said server system.
 6. A data relaymethod for relaying data exchanged between a server system of a serviceprovider and a client system used by a user, said data relay methodcomprising: storing identification information for identifyinglanguage-dependent data and replacement data corresponding to saidlanguage-dependent data associated with each other; receiving serverdata from said server system; searching said database section on thebasis of said identification information contained in the server data asreceived, and detecting the replacement data associated with saididentification information; identifying said language-dependent datacontained in the server data as received, and replacing saidlanguage-dependent data as identified by said replacement dataassociated therewith; transmitting the server data replaced by said datagenerating section to said client system; wherein the data relay systemfurther comprises the steps of receiving request data from said clientsystem; extracting first identification information contained in therequest data as received for identifying said replacement data;extracting second identification information for identifyinglanguage-dependent data contained in said server data; and detecting thereplacement data on the basis of said first identification informationand said second identification information; and wherein server requestdata is generated by deleting, from the request data as obtained fromthe client system, language-dependent data which can not be processed bysaid server system and said first identification information, andwherein the server request data is transferred to said server system. 7.The data relay method as set forth in claim 6 wherein when noreplacement data is detected from said server data, said server data isnot replaced but is outputted to said client data transmitting section.8. The data relay method as set forth in claim 6 further comprising:receiving the replacement data and the first identification informationcorresponding to said replacement data from said client system andstoring said replacement data and the first identification information;acquiring said second identification information as the processingresult of said server system; and registering said replacement data asstored, the first identification information corresponding thereto andthe second identification information as acquired in accordance with theprocessing result.
 9. The data relay method as set forth in claim 6wherein pseudo data is added in place of the language-dependent data asdeleted.
 10. The data relay method as set forth in claim 9 wherein thelanguage used in said client system is identified and said pseudo dataincludes data for display which can be processed by said server system.11. A computer readable storage medium containing a data relay programproduct for relaying data exchanged between a server system of a serviceprovider and a client system used by a user, said data relay programproduct comprising the computer operations of: storing identificationinformation for identifying language-dependent data and replacement datacorresponding to said language-dependent data associated with eachother; receiving server data from said server system; searching saiddatabase section on the basis of said identification informationcontained in the server data as received, and detecting the replacementdata associated with said identification information; identifying saidlanguage-dependent data contained in the server data as received, andreplacing said language-dependent data as identified by said replacementdata associated therewith; transmitting the server data replaced by saiddata generating section to said client system; wherein the data relayprogram product further comprises the computer operations of receivingrequest data from said client system; extracting second identificationinformation for identifying language-dependent data contained in saidserver data; extracting second identification information foridentifying language-dependent data contained in said server data; anddetecting the replacement data on the basis of said first identificationinformation and said second identification information; and generatingserver request data by deleting, from the request data as obtained fromthe client system, language-dependent data which can not be processed bysaid server system and said first identification information, andtransferring the server request data to said server system.
 12. The datarelay program as set forth in claim 11 wherein when no replacement datais detected from said server data, said server data is not replaced butis outputted to said client data transmitting section.
 13. The datarelay program product as set forth in claim 11 further comprising thecomputer operations of: receiving the replacement data and the firstidentification information corresponding to said replacement data fromsaid client system and storing said replacement data and the firstidentification information; acquiring said second identificationinformation as the processing result of said server system; andregistering said replacement data as stored, the first identificationinformation corresponding thereto and the second identificationinformation as acquired in accordance with the processing result. 14.The data relay program product as set forth in claim 11 furthercomprising the computer operations of: adding pseudo data in place ofthe language-dependent data as deleted.
 15. The data relay programproduct as set forth in claim 14 further comprising the computeroperations of: including said pseudo data in data for display which canbe processed by said server system and used to identify the languageused in said client system.